package org.suyafei.manager;

import org.suyafei.model.ProductOrderDO;

import java.util.Map;

/**
 * @author 宿某人
 * @Date: 2022/02/05/10:16 下午
 * @Description:
 */

public interface ProductOrderManager {

    /**
     * 新增订单
     * @param productOrderDO
     * @return
     */
    int add(ProductOrderDO productOrderDO);

    /**
     * 根据订单号和用户id查找订单
     * @param outTradeNo
     * @param accountNo
     * @return
     */
    ProductOrderDO findByOutTradeNoAndAccountNo(String outTradeNo, Long accountNo);

    /**
     * 更新订单状态
     * @param outTradeNo
     * @param accountNo
     * @param newState
     * @param oldState
     * @return
     */
    int updateOrderPayState(String outTradeNo, Long accountNo, String newState, String oldState);

    /**
     * 分页查询订单
     * @param page
     * @param size
     * @param accountNo
     * @param state
     * @return
     */
    Map<String, Object> page(int page, int size, Long accountNo, String state);

    /**
     * 删除订单
     * @param orderId
     * @param accountNo
     * @return
     */
    int del(Long orderId, Long accountNo);

}
